package com.ruoyi.bus.wechat;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.http.HttpUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.client.OkHttp3ClientHttpRequestFactory;

import java.util.HashMap;
import java.util.Map;

/**
 * @Description 微信相关接口
 * @Author caiyanshan
 * @Date 2021/4/21 8:42
 * @Param
 * @Return
 */
@Slf4j
public class WechatApi {
  
  private static String jsCode2sessionUrl = "https://api.weixin.qq.com/sns/jscode2session";//小程序接口code转openID

  /**
   * 由于未登录，所以无法区分是何种用户类型，无法获取准确的appId等，故通过type来拍断用户类型
   * 1、用户端
   * 2、司机端
   * @param jsCode
   * @param type
   * @return
   */
  public static AjaxResult getOpenIdByCode(String jsCode, Integer type){
    Wechat wechat = WechatUtils.getWechat(type);
    Map<String, String> params = new HashMap();
    params.put("appid", wechat.getAppId());
    params.put("secret", wechat.getAppSecret());
    params.put("js_code", jsCode);
    params.put("grant_type", "authorization_code");
    String para = WechatUtils.packageSign(params, false);
    return AjaxResult.success(HttpUtils.sendGet(jsCode2sessionUrl, para));
  }
  
}
